﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using YArchitech.LIB.YJKControls;
using SystemDiagramNew.SystemDiagramLegend.DataDefine;
using SystemDiagramNew.TypeDefinition;

namespace SystemDiagramNew.SystemDiagramLegend
{
	public partial class LegendManageForm : System.Windows.Forms.Form
	{
		public LegendManageForm(ExternalCommandData cmdData)
		{
			this.CurrentSelectedLegend = null;
			this.CurrentSelectedLegendGroup = null;
			this.m_Revit = cmdData;
			this.InitializeComponent();
		}

		public LegendManageForm.ResultType theResultType
		{
			get
			{
				return this.m_ResultType;
			}
		}

		public LegendGroup CurrentSelectedLegendGroup { get; private set; }

		public Legend CurrentSelectedLegend { get; private set; }

		public double DrawLegendScale
		{
			get
			{
				return Convert.ToDouble(this.tbScale.Text);
			}
		}

		public string SelectedLegendNodeName()
		{
			if (this.treeViewLegend.SelectedNode != null)
			{
				return this.treeViewLegend.SelectedNode.Text;
			}
			return "";
		}

		public void SetSelectLegend(string legendName)
		{
			if (legendName.CompareTo("") == 0)
			{
				return;
			}
			TreeNode treeNode = null;
			foreach (object obj in this.treeViewLegend.Nodes)
			{
				TreeNode currentNode = (TreeNode)obj;
				treeNode = this.FindNodeByName(currentNode, legendName);
				if (treeNode != null)
				{
					break;
				}
			}
			if (treeNode != null)
			{
				this.treeViewLegend.SelectedNode = treeNode;
				this.SetSelectedState();
			}
		}

		private TreeNode FindNodeByName(TreeNode currentNode, string legendName)
		{
			if (currentNode.Text.CompareTo(legendName) == 0)
			{
				return currentNode;
			}
			foreach (object obj in currentNode.Nodes)
			{
				TreeNode currentNode2 = (TreeNode)obj;
				TreeNode treeNode = this.FindNodeByName(currentNode2, legendName);
				if (treeNode != null)
				{
					return treeNode;
				}
			}
			return null;
		}

		public int GetLegendDirection()
		{
			if (this.rb0.Checked)
			{
				return 0;
			}
			if (this.rb90.Checked)
			{
				return 1;
			}
			if (this.rb180.Checked)
			{
				return 2;
			}
			return 3;
		}

		public void SetLegendDirection(int direction)
		{
			switch (direction)
			{
			case 0:
				this.rb0.Checked = true;
				return;
			case 1:
				this.rb90.Checked = true;
				return;
			case 2:
				this.rb180.Checked = true;
				return;
			case 3:
				this.rb270.Checked = true;
				return;
			default:
				return;
			}
		}

		private void LegendMappingForm_Load(object sender, EventArgs e)
		{
			this.ReadLegendData();
			this.InitializeLegendList();
			this.LoadCompornentData();
		}

		private void LegendMappingForm_FormClosing(object sender, FormClosingEventArgs e)
		{
			this.SaveCompornentData();
		}

		private void LoadCompornentData()
		{
			string path = Path.GetTempPath() + "LegendManageForm.dat";
			if (!File.Exists(path))
			{
				this.rb0.Checked = true;
				this.tbScale.Text = "1";
				return;
			}
			FileStream fileStream = new FileStream(path, FileMode.Open);
			StreamReader streamReader = new StreamReader(fileStream);
			streamReader.BaseStream.Seek(0L, SeekOrigin.Begin);
			string selectLegend = streamReader.ReadLine();
			this.SetSelectLegend(selectLegend);
			int legendDirection = Convert.ToInt32(streamReader.ReadLine());
			this.SetLegendDirection(legendDirection);
			this.tbScale.Text = streamReader.ReadLine();
			streamReader.Close();
			fileStream.Close();
		}

		private void SaveCompornentData()
		{
			FileStream fileStream = new FileStream(Path.GetTempPath() + "LegendManageForm.dat", FileMode.Create);
			StreamWriter streamWriter = new StreamWriter(fileStream);
			streamWriter.WriteLine(this.SelectedLegendNodeName());
			streamWriter.WriteLine(this.GetLegendDirection());
			streamWriter.WriteLine(this.tbScale.Text);
			streamWriter.Flush();
			streamWriter.Close();
			fileStream.Close();
		}

		private void ReadLegendData()
		{
			this.m_LegendGroupList.Clear();
			string fileName = LegendInfoFilePathKit.LegendDataFilePath();
			this.m_LegendGroupList = XMLKit.ReadLegendXMLFile(fileName);
		}

		private void InitializeLegendList()
		{
			this.m_LegendPreviewer = new Previewer(this, this.pnlLegend.Left, this.pnlLegend.Top, this.pnlLegend.Width, this.pnlLegend.Height, 1u);
			base.MouseWheel += this.m_LegendPreviewer.MouseWheel;
			List<List<LegendGroup>> list = new List<List<LegendGroup>>();
			foreach (LegendGroup legendGroup in this.m_LegendGroupList)
			{
				bool flag = false;
				for (int i = 0; i < list.Count; i++)
				{
					List<LegendGroup> list2 = list[i];
					if (list2.Count != 0 && list2[0].TheLegendKind == legendGroup.TheLegendKind)
					{
						list[i].Add(legendGroup);
						flag = true;
						break;
					}
				}
				if (!flag)
				{
					list.Add(new List<LegendGroup>
					{
						legendGroup
					});
				}
			}
			this.treeViewLegend.Nodes.Clear();
			int num = 0;
			foreach (List<LegendGroup> list3 in list)
			{
				LegendGroup legendGroup2 = list3[0];
				TreeNode treeNode = new TreeNode(this.GetLegendKindName(legendGroup2));
				this.treeViewLegend.Nodes.Add(treeNode);
				treeNode.Tag = num;
				num++;
				foreach (LegendGroup legendGroup3 in list3)
				{
					TreeNode treeNode2 = new TreeNode(legendGroup3.TheName);
					treeNode.Nodes.Add(treeNode2);
					treeNode2.Tag = num;
					num++;
				}
			}
		}

		private string GetLegendKindName(LegendGroup legendGroup)
		{
			string result = "";
			switch (legendGroup.TheLegendKind)
			{
			case LegendKind.LK_Water:
				result = "给水";
				break;
			case LegendKind.LK_ColdWater:
				result = "冷水";
				break;
			case LegendKind.LK_HotWater:
				result = "热水";
				break;
			case LegendKind.LK_Drain:
				result = "排水";
				break;
			case LegendKind.LK_Valves:
				result = "阀件";
				break;
			case LegendKind.LK_ApplianceText:
				result = "器具文字";
				break;
			case LegendKind.LK_ArchSymbols:
				result = "建筑符号";
				break;
			case LegendKind.LK_SanitaryWare:
				result = "卫生器具";
				break;
			case LegendKind.LK_Hydrant:
				result = "消火栓";
				break;
			case LegendKind.LK_SprinklerHead:
				result = "喷头";
				break;
			}
			return result;
		}

		private LegendKind GetLegendKindByName(string legendKindName)
		{
			LegendKind result = LegendKind.LK_Water;
			uint num = YArchitech.Revit.PrivateImplementationDetails.ComputeStringHash(legendKindName);
			if (num <= 3018456416u)
			{
				if (num <= 1543896100u)
				{
					if (num != 885923699u)
					{
						if (num == 1543896100u)
						{
							if (legendKindName == "热水")
							{
								result = LegendKind.LK_HotWater;
							}
						}
					}
					else if (legendKindName == "建筑符号")
					{
						result = LegendKind.LK_ArchSymbols;
					}
				}
				else if (num != 1913641419u)
				{
					if (num != 2017671635u)
					{
						if (num == 3018456416u)
						{
							if (legendKindName == "给水")
							{
								result = LegendKind.LK_Water;
							}
						}
					}
					else if (legendKindName == "排水")
					{
						result = LegendKind.LK_Drain;
					}
				}
				else if (legendKindName == "阀件")
				{
					result = LegendKind.LK_Valves;
				}
			}
			else if (num <= 3238433206u)
			{
				if (num != 3145731574u)
				{
					if (num == 3238433206u)
					{
						if (legendKindName == "卫生器具")
						{
							result = LegendKind.LK_SanitaryWare;
						}
					}
				}
				else if (legendKindName == "器具文字")
				{
					result = LegendKind.LK_ApplianceText;
				}
			}
			else if (num != 3827585605u)
			{
				if (num != 4121427430u)
				{
					if (num == 4277520614u)
					{
						if (legendKindName == "冷水")
						{
							result = LegendKind.LK_ColdWater;
						}
					}
				}
				else if (legendKindName == "喷头")
				{
					result = LegendKind.LK_SprinklerHead;
				}
			}
			else if (legendKindName == "消火栓")
			{
				result = LegendKind.LK_Hydrant;
			}
			return result;
		}

		private void treeViewLegend_AfterSelect(object sender, TreeViewEventArgs e)
		{
			this.UpdatePreviewer();
		}

		private void rb0_CheckedChanged(object sender, EventArgs e)
		{
			this.UpdatePreviewer();
		}

		private void rb90_CheckedChanged(object sender, EventArgs e)
		{
			this.UpdatePreviewer();
		}

		private void rb180_CheckedChanged(object sender, EventArgs e)
		{
			this.UpdatePreviewer();
		}

		private void rb270_CheckedChanged(object sender, EventArgs e)
		{
			this.UpdatePreviewer();
		}

		private void UpdatePreviewer()
		{
			if (this.m_LegendPreviewer != null)
			{
				this.m_LegendPreviewer.Update();
			}
			this.trackBarLegend.Value = 0;
			this.m_LegendScale = 1;
			this.Refresh();
		}

		protected override void DefWndProc(ref Message m)
		{
			int msg = m.Msg;
			if (msg == 1125)
			{
				if (m.WParam.ToInt32() == 1)
				{
					List<CurveInfo> curves = new List<CurveInfo>();
					List<TextNoteInfo> textNotes = new List<TextNoteInfo>();
					List<FillRegion> fillRegions = new List<FillRegion>();
					int num = this.FindSelectedLegendIndex();
					if (num == -1)
					{
						this.m_LegendPreviewer.Curves = curves;
						this.m_LegendPreviewer.TextNotes = textNotes;
						this.m_LegendPreviewer.FillRegions = fillRegions;
						return;
					}
					LegendGroup legendGroup = this.m_LegendGroupList[num];
					if (this.rb0.Checked)
					{
						curves = legendGroup.RightLink.CurveInfoList;
						textNotes = legendGroup.RightLink.TextNoteInfoList;
						fillRegions = legendGroup.RightLink.FillRegionList;
					}
					else if (this.rb90.Checked)
					{
						curves = legendGroup.TopLink.CurveInfoList;
						textNotes = legendGroup.TopLink.TextNoteInfoList;
						fillRegions = legendGroup.TopLink.FillRegionList;
					}
					else if (this.rb180.Checked)
					{
						curves = legendGroup.LeftLink.CurveInfoList;
						textNotes = legendGroup.LeftLink.TextNoteInfoList;
						fillRegions = legendGroup.LeftLink.FillRegionList;
					}
					else
					{
						curves = legendGroup.BottomLink.CurveInfoList;
						textNotes = legendGroup.BottomLink.TextNoteInfoList;
						fillRegions = legendGroup.BottomLink.FillRegionList;
					}
					this.m_LegendPreviewer.Curves = curves;
					this.m_LegendPreviewer.TextNotes = textNotes;
					this.m_LegendPreviewer.FillRegions = fillRegions;
					this.m_LegendPreviewer.DrawReferenceBox = true;
					return;
				}
			}
			else
			{
				base.DefWndProc(ref m);
			}
		}

		private bool SelectedLegendNode()
		{
			TreeNode selectedNode = this.treeViewLegend.SelectedNode;
			return selectedNode != null && selectedNode.FirstNode == null;
		}

		private int FindSelectedLegendIndex()
		{
			if (!this.SelectedLegendNode())
			{
				return -1;
			}
			string nodeText = this.treeViewLegend.SelectedNode.Text;
			return this.m_LegendGroupList.FindIndex((LegendGroup s) => s.TheName.CompareTo(nodeText) == 0);
		}

		private TreeNode FindTreeViewLegendNodeByName(string legendName)
		{
			TreeNode[] array = this.treeViewLegend.Nodes.Find(legendName, true);
			if (array.Length != 0)
			{
				return array[0];
			}
			return null;
		}

		private void SortLegendTreeTag(TreeNode node, int tag)
		{
			node.Tag = tag++;
			foreach (object obj in node.Nodes)
			{
				TreeNode node2 = (TreeNode)obj;
				this.SortLegendTreeTag(node2, tag);
			}
		}

		private bool CurrentSelected(ref string message)
		{
			if (this.treeViewLegend.SelectedNode == null)
			{
				message = "当前没有选中图例类型.";
				return false;
			}
			if (this.treeViewLegend.SelectedNode.GetNodeCount(false) > 0)
			{
				message = "当前没有选中图例.";
				return false;
			}
			TreeNode selectedNode = this.treeViewLegend.SelectedNode;
			string legendGroupName = selectedNode.Text;
			int num = this.m_LegendGroupList.FindIndex((LegendGroup s) => s.TheName.CompareTo(legendGroupName) == 0);
			if (num == -1)
			{
				message = "当前没有选中图例.";
				return false;
			}
			this.CurrentSelectedLegendGroup = this.m_LegendGroupList[num];
			if (this.rb0.Checked)
			{
				this.CurrentSelectedLegend = this.CurrentSelectedLegendGroup.RightLink;
			}
			else if (this.rb90.Checked)
			{
				this.CurrentSelectedLegend = this.CurrentSelectedLegendGroup.TopLink;
			}
			else if (this.rb180.Checked)
			{
				this.CurrentSelectedLegend = this.CurrentSelectedLegendGroup.LeftLink;
			}
			else if (this.rb270.Checked)
			{
				this.CurrentSelectedLegend = this.CurrentSelectedLegendGroup.BottomLink;
			}
			return true;
		}

		private void btnSetLegendGraph_Click(object sender, EventArgs e)
		{
			string text = "";
			if (!this.CurrentSelected(ref text))
			{
				MessageBox.Show(text, "盈建科提示");
				return;
			}
			this.m_ResultType = LegendManageForm.ResultType.RT_OnSelect;
			base.Close();
		}

		private void btnDrawing_Click(object sender, EventArgs e)
		{
			string text = "";
			if (!this.CurrentSelected(ref text))
			{
				MessageBox.Show(text, "盈建科提示");
				return;
			}
			this.m_ResultType = LegendManageForm.ResultType.RT_OnDrawing;
			base.Close();
		}

		private void btnCancel_Click(object sender, EventArgs e)
		{
			base.Close();
		}

		private void treeViewLegend_Leave(object sender, EventArgs e)
		{
			this.SetSelectedState();
		}

		private void SetSelectedState()
		{
			if (this.treeViewLegend.SelectedNode != null)
			{
				this.treeViewLegend.SelectedNode.BackColor = System.Drawing.Color.FromArgb(3381759);
				this.treeViewLegend.SelectedNode.ForeColor = System.Drawing.Color.White;
			}
		}

		private void treeViewLegend_BeforeSelect(object sender, TreeViewCancelEventArgs e)
		{
			if (this.treeViewLegend.SelectedNode != null)
			{
				this.treeViewLegend.SelectedNode.BackColor = System.Drawing.Color.Empty;
				this.treeViewLegend.SelectedNode.ForeColor = System.Drawing.Color.Black;
			}
		}

		private void trackBarLegend_Scroll(object sender, EventArgs e)
		{
			string text = "";
			if (!this.CurrentSelected(ref text))
			{
				return;
			}
			double num = 1.0;
			if (this.m_LegendScale > 0)
			{
				num /= (double)this.m_LegendScale;
			}
			else if (this.m_LegendScale < 0)
			{
				num *= (double)Math.Abs(this.m_LegendScale);
			}
			this.m_LegendScale = this.trackBarLegend.Value;
			if (this.m_LegendScale > 0)
			{
				num *= (double)this.m_LegendScale;
			}
			else if (this.m_LegendScale < 0)
			{
				num /= (double)Math.Abs(this.m_LegendScale);
			}
			if (Geometry.IsEqual(num, 1.0))
			{
				return;
			}
			Transform transform = Transform.Identity.ScaleBasis(num);
			this.CurrentSelectedLegend.ScalingTransformation(transform);
			this.Refresh();
		}

		private void btnSetLegenScale_Click(object sender, EventArgs e)
		{
			if (this.m_LegendScale == 0)
			{
				return;
			}
			string text = "";
			if (!this.CurrentSelected(ref text))
			{
				MessageBox.Show(text, "盈建科提示");
				return;
			}
			XMLKit.AddLegendInfoToLegendFile(LegendInfoFilePathKit.LegendDataFilePath(), this.CurrentSelectedLegendGroup);
		}

		private void tbScale_Validating(object sender, CancelEventArgs e)
		{
			try
			{
				if (Geometry.Lessthan_Or_Equal(double.Parse(this.tbScale.Text), 0.0))
				{
					MessageBox.Show("比例输入值无效.", "盈建科提示");
					e.Cancel = true;
				}
			}
			catch (FormatException)
			{
				MessageBox.Show("比例输入值无效.", "盈建科提示");
				e.Cancel = true;
			}
		}

		private void toolStripMenuItemAdd_Click(object sender, EventArgs e)
		{
			if (this.treeViewLegend.SelectedNode == null)
			{
				MessageBox.Show("当前没有选中图例类型.", "盈建科提示");
			}
			TreeNode treeNode = null;
			if (this.treeViewLegend.SelectedNode.GetNodeCount(false) > 0)
			{
				treeNode = this.treeViewLegend.SelectedNode;
			}
			else
			{
				treeNode = this.treeViewLegend.SelectedNode.Parent;
			}
			string text = treeNode.Text;
			LegendKind legendKindByName = this.GetLegendKindByName(text);
			List<string> list = new List<string>();
			foreach (LegendGroup legendGroup in this.m_LegendGroupList)
			{
				list.Add(legendGroup.TheName);
			}
			try
			{
				AddLegendNameForm addLegendNameForm = new AddLegendNameForm(list);
				if (addLegendNameForm.ShowDialog() == DialogResult.OK)
				{
					string legendName = addLegendNameForm.LegendName;
					Legend leftLink = new Legend();
					Legend rightLink = new Legend();
					Legend topLink = new Legend();
					Legend bottomLink = new Legend();
					LegendGroup legendGroup2 = new LegendGroup(legendName, legendKindByName, leftLink, rightLink, topLink, bottomLink);
					this.m_LegendGroupList.Add(legendGroup2);
					TreeNode treeNode2 = new TreeNode(legendGroup2.TheName);
					treeNode.Nodes.Add(treeNode2);
					int tag = 0;
					foreach (object obj in this.treeViewLegend.Nodes)
					{
						TreeNode node = (TreeNode)obj;
						this.SortLegendTreeTag(node, tag);
					}
					this.treeViewLegend.SelectedNode = treeNode2;
					XMLKit.AddLegendInfoToLegendFile(LegendInfoFilePathKit.LegendDataFilePath(), legendGroup2);
				}
			}
			catch (Exception)
			{
			}
		}

		private void toolStripMenuItemDelete_Click(object sender, EventArgs e)
		{
			string text = "";
			if (!this.CurrentSelected(ref text))
			{
				MessageBox.Show(text, "盈建科提示");
				return;
			}
			try
			{
				this.treeViewLegend.SelectedNode.Remove();
				XMLKit.DeleteLegendInfoFromLegendFile(LegendInfoFilePathKit.LegendDataFilePath(), this.CurrentSelectedLegendGroup);
			}
			catch (Exception)
			{
			}
		}

		private void toolStripMenuItemRename_Click(object sender, EventArgs e)
		{
			string text = "";
			if (!this.CurrentSelected(ref text))
			{
				MessageBox.Show(text, "盈建科提示");
				return;
			}
			List<string> list = new List<string>();
			foreach (LegendGroup legendGroup in this.m_LegendGroupList)
			{
				list.Add(legendGroup.TheName);
			}
			try
			{
				AddLegendNameForm addLegendNameForm = new AddLegendNameForm(list);
				if (addLegendNameForm.ShowDialog() == DialogResult.OK)
				{
					string legendName = addLegendNameForm.LegendName;
					string text2 = this.treeViewLegend.SelectedNode.Text;
					this.treeViewLegend.SelectedNode.Text = legendName;
					this.CurrentSelectedLegendGroup.TheName = legendName;
					XMLKit.RenameLegendInfoToLegendFile(LegendInfoFilePathKit.LegendDataFilePath(), text2, this.CurrentSelectedLegendGroup);
				}
			}
			catch (Exception)
			{
			}
		}

		private void btnConvert_Click(object sender, EventArgs e)
		{
			string fileName = LegendInfoFilePathKit.LegendDataFilePath();
			foreach (LegendGroup legendGroup in this.m_LegendGroupList)
			{
				Legend leftLink = this.ConvertLegendScale(legendGroup.LeftLink);
				Legend rightLink = this.ConvertLegendScale(legendGroup.RightLink);
				Legend topLink = this.ConvertLegendScale(legendGroup.TopLink);
				Legend bottomLink = this.ConvertLegendScale(legendGroup.BottomLink);
				LegendGroup legendGroup2 = new LegendGroup(legendGroup.TheName, legendGroup.TheLegendKind, leftLink, rightLink, topLink, bottomLink);
				XMLKit.AddLegendInfoToLegendFile(fileName, legendGroup2);
			}
		}

		private Legend ConvertLegendScale(Legend legend)
		{
			XYZ position = this.ConverXYZScale(legend.Position);
			List<TextNoteInfo> list = new List<TextNoteInfo>();
			foreach (TextNoteInfo textNoteInfo in legend.TextNoteInfoList)
			{
				TextNoteInfo item = this.ConvertTextNoteInfoScale(textNoteInfo);
				list.Add(item);
			}
			List<CurveInfo> list2 = new List<CurveInfo>();
			foreach (CurveInfo curveInfo in legend.CurveInfoList)
			{
				CurveInfo item2 = this.ConvertCurveInfoScale(curveInfo);
				list2.Add(item2);
			}
			List<FillRegion> list3 = new List<FillRegion>();
			foreach (FillRegion fillRegion in legend.FillRegionList)
			{
				FillRegion item3 = this.ConvertFillRegionScale(fillRegion);
				list3.Add(item3);
			}
			return new Legend(position, list, list2, list3);
		}

		private TextNoteInfo ConvertTextNoteInfoScale(TextNoteInfo textNoteInfo)
		{
			XYZ center = this.ConverXYZScale(textNoteInfo.m_Center);
			double height = this.ConvertDoubleScale(textNoteInfo.m_Height);
			double boundingBoxWidth = this.ConvertDoubleScale(textNoteInfo.m_BoundingBoxWidth);
			double boundingBoxHeight = this.ConvertDoubleScale(textNoteInfo.m_BoundingBoxHeight);
			return new TextNoteInfo(textNoteInfo.m_Text, textNoteInfo.m_Color, height, center, boundingBoxWidth, boundingBoxHeight);
		}

		private CurveInfo ConvertCurveInfoScale(CurveInfo curveInfo)
		{
			EdgeInfo curve = this.ConvertEdgeInfoScale(curveInfo.CurveObj);
			return new CurveInfo(curve, curveInfo.Color, curveInfo.PenDashStyle, curveInfo.LineWidth);
		}

		private FillRegion ConvertFillRegionScale(FillRegion fillRegion)
		{
			List<EdgeInfo> list = new List<EdgeInfo>();
			foreach (EdgeInfo edgeInfo in fillRegion.EdgeLoop)
			{
				EdgeInfo item = this.ConvertEdgeInfoScale(edgeInfo);
				list.Add(item);
			}
			return new FillRegion(list, fillRegion.Color);
		}

		private EdgeInfo ConvertEdgeInfoScale(EdgeInfo edgeInfo)
		{
			return new EdgeInfo(this.ConverXYZScale(edgeInfo.StartPoint), this.ConverXYZScale(edgeInfo.EndPoint), edgeInfo.Bulge);
		}

		private XYZ ConverXYZScale(XYZ pt)
		{
			return new XYZ(this.ConvertDoubleScale(pt.X), this.ConvertDoubleScale(pt.Y), this.ConvertDoubleScale(pt.Z));
		}

		private double ConvertDoubleScale(double value)
		{
			return value * 0.25;
		}

		private List<LegendGroup> m_LegendGroupList = new List<LegendGroup>();

		private Previewer m_LegendPreviewer;

		private int m_LegendScale = 1;

		private LegendManageForm.ResultType m_ResultType;

		private ExternalCommandData m_Revit;

		public enum ResultType
		{
			RT_OnOk,
			RT_OnSelect,
			RT_OnDrawing
		}
	}
}
